1. Field
The present disclosure relates generally to wireless data networks and, more specifically, to filtering data packets into an IP flow that exhibits the appropriate quality of service.
2. Background
Unlike traditional wireless networks that create a physical path between receiving and sending devices, wireless data networks use Internet protocol (IP) to break up data into small pieces called packets. Packets are allowed to take different paths to the same destination. Some packets can be prioritized and used to provide high-speed data services, such as voice-over-IP (VoIP), streaming video and video telephony.
Some applications may require a higher Quality of Service (QoS), whereas other applications may tolerate a lower QoS. An application that requires a high QoS might require packets to be delivered with little delay or with little delay between packets once the first packet is delivered. For example, the delay in delivering packets used to provide a VoIP phone call would be less than for packets used to deliver an e-mail.
The two major third generation wireless standards that specify the characteristics of wireless data networks are the cdma2000 1×EV-DO (Evolution, Data Only) standard promulgated by the “3rd Generation Partnership Project 2” (3GPP2) and the W-CDMA standard proposed by the “3rd Generation Partnership Project” (3GPP). The Telecommunication Industry Association has named the cdma2000 1×EV-DO standard the “CDMA2000, High Rate Packet Data Air Interface Specification” and assigned it the specification number 3GPP2 C.S0024-A. The European Telecommunications Standards Institute (ETSI) has assigned wideband CDMA (W-CDMA) the technical standard number ETSI TS 24 008. W-CDMA is sometimes referred to as Universal Mobile Telecommunications System (UMTS).
Packets are transmitted across wireless data networks in packet data flows. Each packet data flow is characterized by a particular QoS. Each high-speed data application running on a mobile station, such as a cell phone, receives packets from a packet data flow that has the appropriate QoS. For example, a mobile station running three applications that require different qualities of service would receive packets across three packet data flows. When the wireless data network receives packets from an external IP network, a router in the mobile network filters those packets to determine which packets should be forwarded in which available data flow to the mobile station. Each time an application is launched on the mobile station, the mobile station sends configuration messages to the router defining a “flow specification” for the data flow used by the application and a “filter specification” for filtering the packets communicated to the application. Packet filters are installed in the router and classify packets received from the external IP network. The packet filters are applied to the packets in an appropriate order such that each packet is routed through a packet data flow that exhibits the correct QoS for the corresponding application. Each filter is assigned a precedence value by the mobile station, and the order in which filters are applied to packets received from the external IP network depends on the precedence value.
When a new application is launched or when an existing application modifies its filters, the mobile station assigns a precedence value to each new filter so that both the new and the existing filters are applied to the incoming packets in the correct order. If the mobile station must assign to a new filter a precedence value that is already assigned to an existing filter, the mobile station must send additional configuration messages to reassign the precedence values of the existing filters before installing the new filter on the router. Sending configuration messages consumes air interface resources, which is undesirable. As more wireless networks evolve into wireless data networks and high-speed data services become more popular, the number of packet filters installed on routers in the mobile networks will increase. Consequently, there will be a higher probability that the precedence value assigned to each newly installed filter will conflict with the precedence value of an existing filter, and the number of configuration messages required to reassign precedence values will increase.
A method is sought for reducing the number of configuration messages required to reassign precedence values when the precedence value assigned to a newly installed filter conflicts with the precedence value of an existing filter.